/**
 * 判断关键字是否存在
 * @param key 关键字符
 * @returns {boolean}
 */
const isHaveKey = key => {
    if (!key) {
        throw new Error('请传入关键字！');
    }
    return !!key;
};
/**
 * session数据存储
 */
export default {
    /**
     * 获取本地存储数据
     * @param key 存储关键字
     */
    get: key => {
        if (!isHaveKey(key)) {
            return null;
        }
        // 获取缓存数据
        const data = sessionStorage.getItem(key);
        //缓存数据为空返回null
        return data ? JSON.parse(data) : null;
    },
    /**
     * 存储数据至session
     * @param key 存储关键字
     * @param data 存储数据
     */
    save: (key, data) => {
        if (!isHaveKey(key)) {
            return null;
        }
        // 获取缓存数据
        sessionStorage.setItem(key, JSON.stringify(data));
    },
    /**
     * 通过关键字移除对应数据
     * @param key 存储关键子
     */
    removeByKey(key) {
        if (!isHaveKey(key)) {
            return;
        }
        sessionStorage.removeItem(key);
    },
    /**
     * 清除session
     */
    clear() {
        sessionStorage.clear();
    }
}
